SAR A/D converters are known in the art to be used for analog-to-digital conversion. In this type of converter, conversion is based on a dichotomic search through all possible quantization levels to the determination of the final conversion value.
Referring to FIG. 1, which shows a block diagram of a classical SAR-A/D converter, such converter comprises a digital-to-analog converter (DAC), a successive approximation register (SAR), a sample-and-hold circuit (S/H), an input voltage Vin and a reference voltage Vref. Particularly, the sample-and-hold circuit, which may also be integrated in the DAC converter, is configured to capture the input voltage Vin, whereas the voltage comparator (Comp) which compares the voltage Vin with the output of the DAC, is configured to transmit the result to the successive approximation register (SAR), which emits an approximate digital code of the Vin to the internal DAC whose output is fed back to the comparator with an analog signal equivalent to the output digital code of the SAR to be compared with the input voltage Vin.
Particularly, binary-weighted physical elements are usually employed in the internal DAC to carry out the conversion process. For example, these binary-weighted physical elements consist of resistors, capacitors, current generators and the like.
In order to convert a voltage corresponding to the binary code ‘101001’ (i.e. the code representing the number 41) using a binary converter having a number Nbit=NBitBin of bits equal to six, six physical elements are available. In the binary code ‘101001’ the physical elements corresponding to the indices 0, 3 and 5 (i.e. the ones of the binary code ‘101001’) are intended to be somehow selected and the corresponding converted voltage is 41/64 Vref, where Vref represents the reference voltage to be used for the conversion process.
However, if a thermometer-code SAR A/D converter is used, all the physical elements are nominally equal to one another. Therefore, during the conversion process, if the voltage corresponding to the binary code ‘101001’ (41) has to be converted using a thermometer-code converter having a number Nbit=NBitTh of bits equal to six, all the physical elements, equal to 64 (because 2^6=64), corresponding to the indices from 0 to 40 are selected (whereas the physical elements corresponding to the indices from 41 to 63 are not selected) and the corresponding converted voltage is always equal to 41/64 Vref.
Conversely, in a converter having a mixed thermometer-code and binary design, the plurality of physical elements that form the converter are divided into two subsets, i.e. one subset formed by thermometer elements and the other subset formed by binary-weighted elements.
Namely, the binary-weighted elements define the LSB bits of the output code generated by the converter, whereas the thermometer elements define the MSB bits of such output code.
It shall be noted that the accuracy of the converter with the thermometer-code and binary design is set by the smallest physical element implemented in the binary elements and corresponds to 1 LSB, i.e. the bit corresponding to the zero index of LSB bits.
The example of FIG. 2 is a converter with a thermometer-code and binary design having twelve bits, with an output code organized as follows:
binary physical elements are used for indices from 0 to 5, which represent the LSB bits of the output code, which means that the 0 index is given by a binary element, the 1 index is given by a binary element having twice the value (of the binary element for the 0 index), the 2 index is given by a binary element having four times the value (of the binary element for the 0 index) and so on; and
thermometer elements are used for indexes from 6 to 11, which represent the MSB bits of the output code, such that each index involves the addition of as many thermometer elements as required by the binary coding of the index weight minus 6 (2(bit index−6)).
The problematic aspect of such thermometer-code ADC is that, as the latter generates the values of the various voltages Vthermo (Thermo=0 . . . 2NTh) of the thermometer levels as used in the A/D conversion process, these voltage values V Thermo are affected by the problem that the thermometer elements are not identical, as they should ideally be but actually exhibit non-idealities, which introduce an error in such voltage values VThermo.
Thus, assuming that 64 thermometer elements Tj are provided, the ideal voltages VThermo required during SAR conversion are:
      V    Thermo    =                    V        ref                    T        tot              ⁢                  ∑                  j          =          0                          Thermo          -          1                    ⁢              T        j            
where Ttot is the total value of the thermometer elements, Thermo belongs to the set from 0 to 64 and Tj belongs to the set T0, . . . , Tthermo−1, because voltage levels are one more than the elements. Nevertheless, since all thermometer elements Tj are imperfect, each having its own error τj, then each thermometer element may be rewritten according to the formula:Tj=Tideal+τj 
In view of the above, the real voltage values Vthermo required during SAR conversion are expressed by the following formula:
      V    Thermo    =                    V        ref                    T        tot              ⁢                  ∑                  j          =          0                          Thermo          -          1                    ⁢              (                              T            ideal                    +                      τ            j                          )            
Thus, the INL error between the ideal and real voltage sequences may be expressed by the following formula:
      INL    Thermo    =                    V        ref                    T        tot              ⁢                  ∑                  j          =          0                          Thermo          -          1                    ⁢              τ        j            
where INLThermo represents the error for the Thermoth level of the DAC converter.
Such INLThermo depends on the order of thermometer-code errors and is inherently equal to zero for minimum and maximum voltage limits Vmin=0 and Vmax=Vref=V64 (because in this case the number of bits is supposed to be 6).
The INLThermo value is affected by the measurements of the imperfection of the thermometer elements. Particularly, the calibration process as disclosed in Patent Application MI2014A000720 (which is intended to be integrated in the present disclosure), was found to be able to approximate the ideal characteristic INL with an accuracy of half the DNL error of the worst measured thermometer element.
Of course, the INLThermo value is invalidated if measurements on thermometer elements are not made with the utmost accuracy.
A further problem is the area occupied by the switches that are used to switch the thermometer elements on.